# include <cstdlib>
# include <iostream>
# include <iomanip>
# include <cmath>

using namespace std;

#include "vertex_fe.hh"
#include "line.hh"
#include "lagrange_1d.hh"
#include "monomial_fe.hh"

#include "utils.hh"

namespace femlib {
  }


int main ( )
{
  timestamp ( );

  cout << "\n  Test the Point FEM evaluation functions.\n" ;

  VertexFiniteElement<> ptfe ;
  ptfe.test() ;

  SegmentFiniteElement<1, fastfem::Lagrange> lfe ;
  lfe.test() ;

  SegmentFiniteElement<2, fastfem::Lagrange> qfe ;
  qfe.test() ;

  LinearLagrange1D lafe1 ;
  lafe1.test() ;

  QuadraticLagrange1D lafe2 ;
  lafe2.test() ;

  CubicLagrange1D lafe3 ;
  lafe3.test() ;

  MonomialSegmentFiniteElement<2> mnfe1 ;
  mnfe1.test() ;

  MonomialSegmentFiniteElement<4> mnfe2 ;
  mnfe2.test() ;

  MonomialSegmentFiniteElement<6> mnfe3 ;
  mnfe3.test() ;


//
//  Terminate.
//
  cout << "\n  Normal end of execution.\n\n";

  timestamp ( );

  return 0;
}




